package user_api

import (
	"benkendSystem/api"
)

// AddUserRequest 新增用户请求
type AddUserRequest struct {
	ID           int64  `json:"id"`
	UserName     string `json:"username"`
	RealName     string `json:"realname"`
	Password     string `json:"password"`
	PhoneNumber  string `json:"phone_number"`
	EnableFlag   bool   `json:"enable_flag"`
	Remark       string `json:"remark"`
	RoleId       int64  `json:"role_id"`
	DepartmentID int64  `json:"dept_id"`
}

// GetUserRequestList 获取用户列表
type GetUserRequestList struct {
	*api.QueryRequest
}

// UpdateUserRequest 更新管理员的信息
type UpdateUserRequest struct {
	ID           int64  `json:"id"`
	UserName     string `json:"username"`
	RealName     string `json:"realname"`
	PhoneNumber  string `json:"phone_number"`
	EnableFlag   bool   `json:"enable_flag"`
	Remark       string `json:"remark"`
	RoleId       int64  `json:"role_id"`
	DepartmentID int64  `json:"dept_id"`
}

// GetUserListReply 返回用户信息的结构体
type GetUserListReply struct {
	ID          int64  `json:"id"`
	Username    string `json:"username"`
	Realname    string `json:"realname"`
	Avatar      string `json:"avatar"`
	PhoneNumber string `json:"phone_number"`
	DeletedFlag bool   `json:"deleted_flag"`
	EnableFlag  bool   `json:"enable_flag"`
	CreatedAt   string `json:"created_at"`
	UpdatedAt   string `json:"updated_at"`
}

// DeleteUserRequest 删除用户信息
type DeleteUserRequest struct {
	ID int64 `json:"id"`
}

// GetUserDetailRequest 获取用户详细信息
type GetUserDetailRequest struct {
	ID int64 `json:"id"`
}

// UserDepart 用户所在的部门信息
type UserDepart struct {
	ID   int64  `json:"id"`
	Name string `json:"name"`
}

// UserRole 用户的角色
type UserRole struct {
	ID   int64  `json:"id"`
	Name string `json:"name"`
}

// UserMenu 用户菜单权限
type UserMenu struct {
	ID   int64  `json:"id"`
	Name string `json:"name"`
}

// USER  用户信息
type USER struct {
	UserName string `json:"username"`
	//RealName string `json:"realname"`
	//PhoneNumber string `json:"phone_number"`
}

// GetUserDetailReply 获取用户详细信息
//type GetUserDetailReply struct {
//	UserInfo    []*User       `json:"user_info"`
//	Departments []*UserDepart `json:"departments"`
//	UserRoles   []*UserRole   `json:"user_roles"`
//	UserMenus   []*UserMenu   `json:"user_menus"`
//}

// UpdatePasswordRequest 更新用户密码
type UpdatePasswordRequest struct {
	UserName string `json:"username"`
	Password string `json:"password"`
}
